#include <string>
#include <map>
#include <vector>
#include "BattleSimulator.h"
#pragma once

class Result
{
public:
	Result(void);
	//constructor that takes the result of the battle simulation and canculates
	// need values.
	Result(std::map<std::string, 
		std::vector<BattleSimulator::UnitStats*>*>* data);
	~Result(void);
	
	// sets up the result object. called by second constructor.
	// If you use the void constructor must call this methods
	void setResult(std::map<std::string, 
		std::vector<BattleSimulator::UnitStats*>*>* data);
	
	// Compareds two resutls returns true if the compared result 
	// is better.
	bool isBetter(Result &rhs) const;

	// If the result is the player lost this functionmust be called after 
	// construction and the contructor takes in the units left of the 
	// enemy and negates it. ie less is better.
	void lost();
private:
	double totalHitPoints;
};
